<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Generico_lst( $this );

	class Generico_lst extends Lst
	{
	function Generico_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}
	function setLevel()
		{
			$this->aShowColumns = array_keys ( $this->aColumns );
		}
	function initialize()
		{
			// Obtiene de su filtro los parametros que necesita para armar el query
			$this->oFiltro = $this->oModule->loadClass( 'generico_frm' );
			$this->oFiltro->initializeForm();
			$this->aFields = $this->oFiltro->getFieldArray();
			$this->setTitle ( "Configuracion" );
			$this->setSummary( "Esta tabla permite consultar las tablas de configuracion" );
			if ( $this->oFiltro->aFields[$this->oFiltro->getDescriptionField()]->bMultilanguage )
				$this->addColumnMultiLanguage ( 'Nombre', $this->oFiltro->getDescriptionField(), 'es' );
			else
				$this->addColumn ( 'Nombre', $this->oFiltro->getDescriptionField() );
			$this->addColumn ( 'Codigo', $this->oFiltro->getPrimaryField() );
		}
	function query()
		{
			// Convierte a variables el aFields
				extract( $this->getFieldArray() );
				list ( $cModule, $cTabla) = explode( '|', $cModuleTabla);
			// Arma el Query
				$cSql = "SELECT * FROM $cTabla";
			// Arma el Filtro de la Consulta
				$this->oWhere->add( $cKey , $cValor);
			return $cSql .  $this->oWhere->make();
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getPrimaryString($aRow);
			$this->addListAction (  AGREGAR_GENERICO , $cParametroRegistro, 'I', VENTANA_SECUNDARIA );
		}

	function getPrimaryString($aRow)
	{
		$cReturn = 'cModuleTabla=' .$this->aFields['cModuleTabla'];
		$aPrimary = explode ( ',',  $this->oFiltro->getPrimaryField());
		foreach( $aPrimary as $cField )
		{
			if ( $aRow[$cField] )
			{
				$cReturn  .= '&amp;' . $cField . '=' .  $aRow[$cField] ;
			}
		}
		return $cReturn  ;
	}

	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  $this->getPrimaryString($aRow );
			$this->addRowAction ( MODIFICAR_GENERICO, $cParametroRegistro, '', VENTANA_SECUNDARIA);
			$this->addRowAction ( ELIMINAR_GENERICO, $cParametroRegistro, '', VENTANA_SECUNDARIA);
		}
	}
?>
